home *** CD-ROM | disk | FTP | other *** search
/ Whiteline: Alpha / Whiteline Alpha.iso / tex / tools / umrand / umrandb.mf < prev    next >
Encoding:
Text File  |  1994-09-22  |  19.0 KB  |  597 lines

  1. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  2. % A font of the border-project       %
  3. % This file has version number 1.2.  %
  4. % 19.06.1993                         %
  5. % (c) by Andreas H"orstemeier, Hemer %
  6. % some changes                       %
  7. %      by Andreas Schrell, Wuppertal %
  8. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  9.  
  10. input umrand
  11.  
  12. def randsix(expr W) =
  13.     beginchar(incr nextchar,charsize#,charsize#,0cm#);
  14.         pickup pensquare scaled penwid;
  15.         CenterRot(W); sec(8);
  16.         xscal:=1;
  17.         draw top (u,0)--bot (u,h);
  18.         draw top (2u,0)--bot (2u,h);
  19.         draw top (3u,0)--bot (3u,h);
  20.         draw top (4u,0)--bot (4u,h);
  21.         draw top (5u,0)--bot (5u,h);
  22.         draw top (6u,0)--bot (6u,h);
  23.     endchar;
  24. enddef;
  25.  
  26. def randfour(expr W) =
  27.     beginchar(incr nextchar,charsize#,charsize#,0cm#);
  28.         pickup pensquare scaled penwid;
  29.         CenterRot(W); sec(5);
  30.         xscal:=1;
  31.         draw top (u,0)--bot (u,h);
  32.         draw top (2u,0)--bot (2u,h);
  33.         draw top (3u,0)--bot (3u,h);
  34.         draw top (4u,0)--bot (4u,h);
  35.     endchar;
  36. enddef;
  37.  
  38. def randfivea(expr W) =
  39.     beginchar(incr nextchar,charsize#,charsize#,0cm#);
  40.         pickup pensquare scaled penwid;
  41.         CenterRot(W); sec(6);
  42.         xscal:=1;
  43.         draw top (u,0)--bot (u,h);
  44.         draw top (2u,0)--bot (2u,h);
  45.         draw top (4u,0)--bot (4u,h);
  46.         draw top (5u,0)--bot (5u,h);
  47.         pickup pensquare scaled penwidd;
  48.         draw top (3u,0)--bot (3u,h);
  49.     endchar;
  50. enddef;
  51.  
  52. def randfiveb(expr W) =
  53.     beginchar(incr nextchar,charsize#,charsize#,0cm#);
  54.         pickup pensquare scaled penwid;
  55.         CenterRot(W); sec(6);
  56.         xscal:=1;
  57.         draw top (u,0)--bot (u,2.5v);
  58.         draw top (2u,0)--bot (2u,2.5v);
  59.         draw top (4u,0)--bot (4u,2.5v);
  60.         draw top (5u,0)--bot (5u,2.5v);
  61.         draw bot (u,h)--top (u,3.5v);
  62.         draw bot (2u,h)--top (2u,3.5v);
  63.         draw bot (4u,h)--top (4u,3.5v);
  64.         draw bot (5u,h)--top (5u,3.5v);
  65.         draw (u,2.5v)--(5u,2.5v)--(5u,3.5v)--(u,3.5v)--(u,2.5v);
  66.         draw (1.5u,3v)--(4.5u,3v);
  67.         pickup pensquare scaled penwidd;
  68.         draw top (3u,0)--bot (3u,2.5u-penwid/2);
  69.         draw top (3u,3.5u+penwid/2)--bot (3u,h);
  70.         endchar;
  71. enddef;
  72.  
  73. def eckesa(expr W) =
  74.     beginchar(incr nextchar,charsize#,charsize#,0cm#);
  75.         pickup pencircle scaled penwid;
  76.         CenterRot(W); sec(8);
  77.         xscal:=1;
  78.         draw (u,0)--(u,3v);
  79.         draw (u,4v)--(u,8v)--(4u,8v)--(4u,6v);
  80.         draw (2u,0)--(2u,3v);
  81.         draw (2u,4v)--(2u,7v)--(3u,7v)--(3u,6v);
  82.         draw (3u,0)--(3u,v);
  83.         draw (3u,2v)--(3u,5v);
  84.         draw (4u,0)--(4u,v);
  85.         draw (4u,2v)--(4u,5v);
  86.         draw (5u,0)--(5u,3v);
  87.         draw (5u,4v)--(5u,8v)--(8u,8v)--(8u,5v)--(6u,5v);
  88.         draw (6u,0)--(6u,3v);
  89.         draw (6u,4v)--(6u,7v)--(7u,7v)--(7u,6v)--(6u,6v);
  90.         draw (0,v)--(u,v);
  91.         draw (2u,v)--(5u,v);
  92.         draw (6u,v)--(8u,v)--(8u,4v)--(4u,4v);
  93.         draw (0,2v)--(u,2v);
  94.         draw (2u,2v)--(5u,2v);
  95.         draw (6u,2v)--(7u,2v)--(7u,3v)--(4u,3v);
  96.         draw (0,3v)--(3u,3v);
  97.         draw (0,4v)--(3u,4v);
  98.         draw (0,5v)--(1u,5v);
  99.         draw (2u,5v)--(5u,5v);
  100.         draw (0,6v)--(1u,6v);
  101.         draw (2u,6v)--(5u,6v);
  102.     endchar;
  103. enddef;
  104.  
  105. def eckesb(expr W) =
  106.     beginchar(incr nextchar,charsize#,charsize#,0cm#);
  107.         pickup pencircle scaled penwid;
  108.         CenterRot(W); sec(8);
  109.         xscal:=1;
  110.         draw (u,0)--(u,3v);
  111.         draw (u,4v)--(u,6.5v)..(2.5u,8v)..(4u,6.5v)--(4u,6v);
  112.         draw (2u,0)--(2u,3v);
  113.         draw (2u,4v)--(2u,6.5v)..(2.5u,7v)..(3u,6.5v)--(3u,6v);
  114.         draw (3u,0)--(3u,v);
  115.         draw (3u,2v)--(3u,5v);
  116.         draw (4u,0)--(4u,v);
  117.         draw (4u,2v)--(4u,5v);
  118.         draw (5u,0)--(5u,3v);
  119.         draw (5u,4v)--(5u,6.5v)..(6.5u,8v)..(8u,6.5v)..(6.5u,5v)--(6u,5v);
  120.         draw (6u,0)--(6u,3v);
  121.         draw (6u,4v)--(6u,6.5v)..(6.5u,7v)..(7u,6.5v)..(6.5u,6v)--(6u,6v);
  122.         draw (0,v)--(u,v);
  123.         draw (2u,v)--(5u,v);
  124.         draw (6u,v)--(6.5u,v)..(8u,2.5v)..(6.5u,4v)--(4u,4v);
  125.         draw (0,2v)--(u,2v);
  126.         draw (2u,2v)--(5u,2v);
  127.         draw (6u,2v)--(6.5u,2v)..(7u,2.5v)..(6.5u,3v)--(4u,3v);
  128.         draw (0,3v)--(3u,3v);
  129.         draw (0,4v)--(3u,4v);
  130.         draw (0,5v)--(1u,5v);
  131.         draw (2u,5v)--(5u,5v);
  132.         draw (0,6v)--(1u,6v);
  133.         draw (2u,6v)--(5u,6v);
  134.     endchar;
  135. enddef;
  136.  
  137. def eckesh(expr W) =
  138.     beginchar(incr nextchar,charsize#,charsize#,0cm#);
  139.         pickup pencircle scaled penwid;
  140.         CenterRot(W); sec(8);
  141.         xscal:=1;
  142.         draw (u,0)--(0,v);
  143.         draw (2u,0)--(0,2v);
  144.         draw (3u,0)--(0,3v);
  145.         draw (4u,0)--(0,4v);
  146.         draw (5u,0)--(0,5v);
  147.         draw (6u,0)--(0,6v);
  148.     endchar;
  149. enddef;
  150.  
  151. def eckesc(expr W) =
  152.     beginchar(incr nextchar,charsize#,charsize#,0cm#);
  153.         pickup pencircle scaled penwid;
  154.         CenterRot(W); sec(8);
  155.         xscal:=1;
  156.         draw (u,0)--(6u,5v);
  157.         draw (2u,0)--(6u,4v);
  158.         draw (3u,0)--(6u,3v);
  159.         draw (4u,0)--(6u,2v);
  160.         draw (5u,0)--(6u,1v);
  161.         draw (6u,0)--(6u,5v);
  162.         draw (0,v)--(5u,6v);
  163.         draw (0,2v)--(4u,6v);
  164.         draw (0,3v)--(3u,6v);
  165.         draw (0,4v)--(2u,6v);
  166.         draw (0,5v)--(1u,6v);
  167.         draw (0,6v)--(5u,6v);
  168.         draw (6u,5v)..(5.7071u,5.7071v)..(5u,6v);
  169.     endchar;
  170. enddef;
  171.  
  172. def eckesd(expr W) =
  173.     beginchar(incr nextchar,charsize#,charsize#,0cm#);
  174.         pickup pencircle scaled penwid;
  175.         CenterRot(W); sec(8);
  176.         xscal:=1;
  177.         draw (u,0)--(u,v)--(5.7071u,5.7071v);
  178.         draw (2u,0)--(2u,v)--(6u,5v);
  179.         draw (3u,0)--(3u,v)--(6u,4v);
  180.         draw (4u,0)--(4u,v)--(6u,3v);
  181.         draw (5u,0)--(5u,v)--(6u,2v);
  182.         draw (6u,0)--(6u,5v);
  183.         draw (0,v)--(u,v);
  184.         draw (0,2v)--(u,2v)--(5u,6v);
  185.         draw (0,3v)--(u,3v)--(4u,6v);
  186.         draw (0,4v)--(u,4v)--(3u,6v);
  187.         draw (0,5v)--(u,5v)--(2u,6v);
  188.         draw (0,6v)--(5u,6v);
  189.         draw (6u,5v)..(5.7071u,5.7071v)..(5u,6v);
  190.     endchar;
  191. enddef;
  192.  
  193. def eckese(expr W) =
  194.     beginchar(incr nextchar,charsize#,charsize#,0cm#);
  195.         pickup pencircle scaled penwid;
  196.         CenterRot(W); sec(8);
  197.         xscal:=1;
  198.         draw (u,0)--(u,3v)--(0,3v);
  199.         draw (u,v)--(0,v);
  200.         draw (u,2v)--(0,2v);
  201.         draw (2u,0)--(2u,3v);
  202.         draw (3u,0)--(3u,3v);
  203.         draw (4u,0v)..(3.7071u,0.7071v)..(3u,1v);
  204.         draw (5u,0v)..(4.4142u,1.4142v)..(3u,2v);
  205.         draw (6u,0v)..(5.1213u,2.1213v)..(3u,3v);
  206.         draw (1u,3v)..(0.7071u,3.7071v)..(0u,4v);
  207.         draw (2u,3v)..(1.4142u,4.4142v)..(0u,5v);
  208.         draw (3u,3v)..(2.1213u,5.1213v)..(0u,6v);
  209.     endchar;
  210. enddef;
  211.  
  212. def eckesf(expr W) =
  213.     beginchar(incr nextchar,charsize#,charsize#,0cm#);
  214.         pickup pencircle scaled penwid;
  215.         CenterRot(W); sec(8);
  216.         xscal:=1;
  217.         draw (u,0)--(u,v);
  218.         draw (2u,0)--(2u,v);
  219.         draw (3u,0)--(3u,2v)--(0,2v);
  220.         draw (3u,v)--(0,v);
  221.         draw (4u,0)--(4u,2v);
  222.         draw (u,2v)--(u,4v)--(0,4v);
  223.         draw (u,3v)--(0,3v);
  224.         draw (2u,2v)--(2u,4v);
  225.         draw (5u,0v)..(4.7071u,0.7071v)..(4u,1v);
  226.         draw (6u,0v)..(5.4142u,1.4142v)..(4u,2v);
  227.         draw (3u,2v)..(2.7071u,2.7071v)..(2u,3v);
  228.         draw (4u,2v)..(3.4142u,3.4142v)..(2u,4v);
  229.         draw (1u,4v)..(0.7071u,4.7071v)..(0u,5v);
  230.         draw (2u,4v)..(1.4142u,5.4142v)..(0u,6v);
  231.     endchar;
  232. enddef;
  233.  
  234. def eckesg(expr W) =
  235.     beginchar(incr nextchar,charsize#,charsize#,0cm#);
  236.         pickup pencircle scaled penwid;
  237.         CenterRot(W); sec(8);
  238.         xscal:=1;
  239.         draw (u,0)--(u,5v)--(0,5v);
  240.         draw (2u,0)--(2u,4v)--(0,4v);
  241.         draw (3u,0)--(3u,3v)--(0,3v);
  242.         draw (4u,0)--(4u,2v)--(0,2v);
  243.         draw (5u,0)--(5u,v)--(0,v);
  244.         draw (6u,0v)..(5.7071u,0.7071v)..(5u,1v);
  245.         draw (5u,1v)..(4.7071u,1.7071v)..(4u,2v);
  246.         draw (4u,2v)..(3.7071u,2.7071v)..(3u,3v);
  247.         draw (3u,3v)..(2.7071u,3.7071v)..(2u,4v);
  248.         draw (2u,4v)..(1.7071u,4.7071v)..(1u,5v);
  249.         draw (1u,5v)..(0.7071u,5.7071v)..(0u,6v);
  250.     endchar;
  251. enddef;
  252.  
  253. def eckesl(expr W) =
  254.     beginchar(incr nextchar,charsize#,charsize#,0cm#);
  255.         pickup pencircle scaled penwid;
  256.         CenterRot(W); sec(8);
  257.         xscal:=1;
  258.         draw (1u,0v)..(0.7071u,0.7071v)..(0u,1v);
  259.         draw (2u,0)--(2u,1v)..(1.7071u,1.7071v)..(1u,2v)--(0,2v);
  260.         draw (3u,0)--(3u,2v)..(2.7071u,2.7071v)..(2u,3v)--(0,3v);
  261.         draw (4u,0)--(4u,3v)..(3.7071u,3.7071v)..(3u,4v)--(0,4v);
  262.         draw (5u,0)--(5u,4v)..(4.7071u,4.7071v)..(4u,5v)--(0,5v);
  263.         draw (6u,0)--(6u,5v)..(5.7071u,5.7071v)..(5u,6v)--(0,6v);
  264.     endchar;
  265. enddef;
  266.  
  267. def eckesi(expr W) =
  268.     beginchar(incr nextchar,charsize#,charsize#,0cm#);
  269.         pickup pencircle scaled penwid;
  270.         CenterRot(W); sec(8);
  271.         xscal:=1;
  272.         draw (u,0)--(u,.5v)--(6u,5.5v)--(5.5u,6v)--(.5u,v)--(0,v);
  273.         draw (2u,0)--(2u,.5v)--(6u,4.5v)--(4.5u,6v)--(.5u,2v)--(0,2v);
  274.         draw (3u,0)--(3u,.5v)--(6u,3.5v)--(3.5u,6v)--(.5u,3v)--(0,3v);
  275.         draw (4u,0)--(4u,.5v)--(6u,2.5v)--(2.5u,6v)--(.5u,4v)--(0,4v);
  276.         draw (5u,0)--(5u,.5v)--(6u,1.5v)--(1.5u,6v)--(.5u,5v)--(0,5v);
  277.         draw (6u,0)--(6u,.5v)--(.5u,6v)--(0,6v);
  278.     endchar;
  279. enddef;
  280.  
  281. def eckesj(expr W) =
  282.     beginchar(incr nextchar,charsize#,charsize#,0cm#);
  283.         pickup pencircle scaled penwid;
  284.         CenterRot(W); sec(8);
  285.         xscal:=1;
  286.         draw (u,0)--(u,.5v)--(6u,5.5v)--(5.5u,6v)--(.5u,v)--(0,v);
  287.         draw (2u,0)--(2u,.5v)--(6u,4.5v)--(4.5u,6v)--(.5u,2v)--(0,2v);
  288.         draw (3u,0)--(3u,.5v)--(6u,3.5v)--(3.5u,6v)--(.5u,3v)--(0,3v);
  289.         draw (4u,0)--(4u,.5v)--(6u,2.5v)--(2.5u,6v)--(.5u,4v)--(0,4v);
  290.         draw (5u,0)--(5u,.5v)--(6u,1.5v)--(1.5u,6v)--(.5u,5v)--(0,5v);
  291.         draw (6u,0)--(6u,.5v)--(.5u,6v)--(0,6v);
  292.         draw (5u,.5v)--(.5u,5v);
  293.         draw (4u,.5v)--(.5u,4v);
  294.         draw (3u,.5v)--(.5u,3v);
  295.         draw (2u,.5v)--(.5u,2v);
  296.         draw (u,.5v)--(.5u,v);
  297.     endchar;
  298. enddef;
  299.  
  300. def eckesk(expr W) =
  301.     beginchar(incr nextchar,charsize#,charsize#,0cm#);
  302.         pickup pencircle scaled penwid;
  303.         CenterRot(W); sec(8);
  304.         xscal:=1;
  305.         draw (u,0)--(5u,6v);
  306.         draw (2u,0)--(4u,6v);
  307.         draw (3u,0)--(3u,6v);
  308.         draw (4u,0)--(2u,6v);
  309.         draw (5u,0)--(1u,6v);
  310.         draw (6u,0)--(0,6v);
  311.         draw (0,v)--(6u,5v);
  312.         draw (0,2v)--(6u,4v);
  313.         draw (0,3v)--(6u,3v);
  314.         draw (0,4v)--(6u,2v);
  315.         draw (0,5v)--(6u,1v);
  316.         draw (0,6v)--(6u,0);
  317.     endchar;
  318. enddef;
  319.  
  320. def eckesm(expr W) =
  321.     beginchar(incr nextchar,charsize#,charsize#,0cm#);
  322.         pickup pencircle scaled penwid;
  323.         CenterRot(W); sec(8);
  324.         xscal:=1;
  325.         draw (1u,0)..(0.7071u,0.7071v)..(0,1v);
  326.         draw (2u,0)..(1.4142u,1.4142v)..(0,2v);
  327.         draw (3u,0)..(2.1213u,2.1213v)..(0,3v);
  328.         draw (4u,0)..(2.8284u,2.8284v)..(0,4v);
  329.         draw (5u,0)..(3.5355u,3.5355v)..(0,5v);
  330.         draw (6u,0)..(4.2426u,4.2426v)..(0,6v);
  331.     endchar;
  332. enddef;
  333.  
  334. def eckesn(expr W) =
  335.     beginchar(incr nextchar,charsize#,charsize#,0cm#);
  336.         pickup pencircle scaled penwid;
  337.         CenterRot(W); sec(8);
  338.         xscal:=1;
  339.         draw (1u,0)..(0.7071u,0.7071v)..(0,1v);
  340.         draw (2u,0)..(1.7071u,1.7071v)..(0,2v);
  341.         draw (3u,0)..(2.7071u,2.7071v)..(0,3v);
  342.         draw (4u,0)..(3.7071u,3.7071v)..(0,4v);
  343.         draw (5u,0)..(4.7071u,4.7071v)..(0,5v);
  344.         draw (6u,0)..(5.7071u,5.7071v)..(0,6v);
  345.     endchar;
  346. enddef;
  347.  
  348. def eckeso(expr W) =
  349.     beginchar(incr nextchar,charsize#,charsize#,0cm#);
  350.         pickup pencircle scaled penwid;
  351.         CenterRot(W); sec(8);
  352.         xscal:=1;
  353.         draw (u,0)--(u,v)--(0,v);
  354.         draw (2u,0)--(2u,2v)--(0,2v);
  355.         draw (3u,0)--(3u,3v)--(0,3v);
  356.         draw (4u,0)--(4u,4v)--(0,4v);
  357.         draw (5u,0)--(5u,5v)--(0,5v);
  358.         draw (6u,0)--(6u,6v)--(0,6v);
  359.     endchar;
  360. enddef;
  361.  
  362. def eckefb(expr W) =
  363.     beginchar(incr nextchar,charsize#,charsize#,0cm#);
  364.         pickup pencircle scaled penwid;
  365.         CenterRot(W); sec(5);
  366.         xscal:=1;
  367.         draw (1u,0)..(0.7071u,0.7071v)..(0,1v);
  368.         draw (2u,0)..(1.7071u,1.7071v)..(0,2v);
  369.         draw (3u,0)..(2.7071u,2.7071v)..(0,3v);
  370.         draw (4u,0)..(3.7071u,3.7071v)..(0,4v);
  371.     endchar;
  372. enddef;
  373.  
  374. def eckefa(expr W) =
  375.     beginchar(incr nextchar,charsize#,charsize#,0cm#);
  376.         pickup pencircle scaled penwid;
  377.         CenterRot(W); sec(5);
  378.         xscal:=1;
  379.         draw (1u,0)..(0.7071u,0.7071v)..(0,1v);
  380.         draw (2u,0)..(1.4142u,1.4142v)..(0,2v);
  381.         draw (3u,0)..(2.1213u,2.1213v)..(0,3v);
  382.         draw (4u,0)..(2.8284u,2.8284v)..(0,4v);
  383.     endchar;
  384. enddef;
  385.  
  386. def eckefc(expr W) =
  387.     beginchar(incr nextchar,charsize#,charsize#,0cm#);
  388.         pickup pencircle scaled penwid;
  389.         CenterRot(W); sec(5);
  390.         xscal:=1;
  391.         draw (1u,0)..(0.7071u,0.7071v)..(0,1v);
  392.         draw (2u,0)--(2u,v)..(1.7071u,1.7071v)..(u,2v)--(0,2v);
  393.         draw (3u,0)--(3u,2v)..(2.7071u,2.7071v)..(2u,3v)--(0,3v);
  394.         draw (4u,0)--(4u,3v)..(3.7071u,3.7071v)..(3u,4v)--(0,4v);
  395.     endchar;
  396. enddef;
  397.  
  398. def eckefd(expr W) =
  399.     beginchar(incr nextchar,charsize#,charsize#,0cm#);
  400.         pickup pencircle scaled penwid;
  401.         CenterRot(W); sec(5);
  402.         xscal:=1;
  403.         draw (1u,0)--(1u,3v)..(0.7071u,3.7071v)..(0,4v);
  404.         draw (2u,0)--(2u,2v)..(1.7071u,2.7071v)..(u,3v)--(0,3v);
  405.         draw (3u,0)--(3u,1v)..(2.7071u,1.7071v)..(2u,2v)--(0,2v);
  406.         draw (4u,0)..(3.7071u,0.7071v)..(3u,v)--(0,v);
  407.     endchar;
  408. enddef;
  409.  
  410. def eckefe(expr W) =
  411.     beginchar(incr nextchar,charsize#,charsize#,0cm#);
  412.         pickup pencircle scaled penwid;
  413.         CenterRot(W); sec(5);
  414.         xscal:=1;
  415.         draw (u,0)--(u,v);
  416.         draw (2u,0)--(2u,v);
  417.         draw (u,2v)..(0.7071u,2.7071v)..(0,3v);
  418.         draw (2u,2v)..(1.4142u,3.4142v)..(0,4v);
  419.         draw (3u,0)..(2.7071u,0.7071v)..(2u,v)--(0,v);
  420.         draw (4u,0)..(3.4142u,1.4142v)..(2u,2v)--(0,2v);
  421.     endchar;
  422. enddef;
  423.  
  424. def eckeff(expr W) =
  425.     beginchar(incr nextchar,charsize#,charsize#,0cm#);
  426.         pickup pencircle scaled penwid;
  427.         CenterRot(W); sec(5);
  428.         xscal:=1;
  429.         draw (u,0)--(u,v)--(0,v);
  430.         draw (2u,0)--(2u,2v)--(0,2v);
  431.         draw (3u,0)--(3u,3v)--(0,3v);
  432.         draw (4u,0)--(4u,4v)--(0,4v);
  433.     endchar;
  434. enddef;
  435.  
  436. def eckefg(expr W) =
  437.     beginchar(incr nextchar,charsize#,charsize#,0cm#);
  438.         pickup pencircle scaled penwid;
  439.         CenterRot(W); sec(5);
  440.         xscal:=1;
  441.         draw (u,0)--(0,v);
  442.         draw (2u,0)--(0,2v);
  443.         draw (3u,0)--(0,3v);
  444.         draw (4u,0)--(0,4v);
  445.     endchar;
  446. enddef;
  447.  
  448. def eckefh(expr W) =
  449.     beginchar(incr nextchar,charsize#,charsize#,0cm#);
  450.         pickup pencircle scaled penwid;
  451.         CenterRot(W); sec(5);
  452.         xscal:=1;
  453.         draw (u,0)--(u,.5v)--(4u,3.5v)--(3.5u,4v)--(.5u,v)--(0,v);
  454.         draw (2u,0)--(2u,.5v)--(4u,2.5v)--(2.5u,4v)--(.5u,2v)--(0,2v);
  455.         draw (3u,0)--(3u,.5v)--(4u,1.5v)--(1.5u,4v)--(.5u,3v)--(0,3v);
  456.         draw (4u,0)--(4u,.5v)--(.5u,4v)--(0,4v);
  457.     endchar;
  458. enddef;
  459.  
  460. def eckefi(expr W) =
  461.     beginchar(incr nextchar,charsize#,charsize#,0cm#);
  462.         pickup pencircle scaled penwid;
  463.         CenterRot(W); sec(5);
  464.         xscal:=1;
  465.         draw (u,0)--(u,.5v)--(4u,3.5v)--(3.5u,4v)--(.5u,v)--(0,v);
  466.         draw (2u,0)--(2u,.5v)--(4u,2.5v)--(2.5u,4v)--(.5u,2v)--(0,2v);
  467.         draw (3u,0)--(3u,.5v)--(4u,1.5v)--(1.5u,4v)--(.5u,3v)--(0,3v);
  468.         draw (4u,0)--(4u,.5v)--(.5u,4v)--(0,4v);
  469.         draw (3u,.5v)--(.5u,3v);
  470.         draw (2u,.5v)--(.5u,2v);
  471.         draw (u,.5v)--(.5u,v);
  472.     endchar;
  473. enddef;
  474.  
  475. def eckexa(expr W) =
  476.     beginchar(incr nextchar,charsize#,charsize#,0cm#);
  477.         pickup pensquare scaled penwid;
  478.         CenterRot(W); sec(6);
  479.         xscal:=1;
  480.         draw (u,0)--(u,v);
  481.         draw (2u,0)--(2u,v);
  482.         draw (4u,0)--(4u,v);
  483.         draw (5u,0)--(5u,v);
  484.         draw (0,v)--(u,v);
  485.         draw (0,2v)--(u,2v);
  486.         draw (0,4v)--(u,4v);
  487.         draw (0,5v)--(u,5v);
  488.         draw (u,v)--(u,5v)--(5u,5v)--(5u,v)--(u,v);
  489.         draw (2u,2v)--(2u,4v)--(4u,4v)--(4u,2v)--(2u,2v);
  490.         draw (u,5v)--(u,6v)--(5u,6v)--(5u,5v);
  491.         draw (5u,v)--(6u,v)--(6u,5v)--(5u,5v);
  492.         draw (5.5u,1.5v)--(5.5u,4.5v);
  493.         draw (1.5u,5.5v)--(4.5u,5.5v);
  494.         pickup pensquare scaled penwidd;
  495.         draw (3u,0)-- bot (3u,v-penwid/2);
  496.         draw (0,3v)-- lft (u-penwid/2,3v);
  497.         drawdot (3u,3v);
  498.     endchar;
  499. enddef;
  500.  
  501. def eckexb(expr W) =
  502.     beginchar(incr nextchar,charsize#,charsize#,0cm#);
  503.         pickup pencircle scaled penwid;
  504.         CenterRot(W); sec(6);
  505.         xscal:=1;
  506.         draw (u,0)--(u,v);
  507.         draw (2u,0)--(2u,v);
  508.         draw (4u,0)..(3.7071u,0.7071v)..(3u,v)--(0,v);
  509.         draw (5u,0)..(4.4142u,1.4142v)..(3u,2v)--(0,2v);
  510.         draw (u,2v)--(u,3v)..(.7071u,3.7071v)..(0,4v);
  511.         draw (2u,2v)--(2u,3v)..(1.4142u,4.4142v)..(0,5v);
  512.         pickup pencircle scaled penwidd;
  513.         draw (3u,0)--(3u,v)..(2.4142u,2.4142v)..(u,3v)--(0,3v);
  514.     endchar;
  515. enddef;
  516.  
  517. def eckexc(expr W) =
  518.     beginchar(incr nextchar,charsize#,charsize#,0cm#);
  519.         pickup pencircle scaled penwid;
  520.         CenterRot(W); sec(6);
  521.         xscal:=1;
  522.         draw (u,0)..(.7071u,.7071v)..(0,v);
  523.         draw (2u,0)..(1.4142u,1.4142v)..(0,2v);
  524.         draw (4u,0)..(2.8284u,2.8284v)..(0,4v);
  525.         draw (5u,0)..(3.5355u,3.5355v)..(0,5v);
  526.         pickup pencircle scaled penwidd;
  527.         draw (3u,0)..(2.1213u,2.1213v)..(0,3v);
  528.     endchar;
  529. enddef;
  530.  
  531. nextchar:=-1; % -1: we start first char width incr(-1) = 0!
  532.  
  533. for k=0 upto 4-1: randsix(k*360/4); endfor;
  534.  
  535. for k=0 upto 4-1: eckesa(k*360/4); endfor;
  536.  
  537. for k=0 upto 4-1: eckesb(k*360/4); endfor;
  538.  
  539. for k=0 upto 4-1: eckesc(k*360/4); endfor;
  540.  
  541. for k=0 upto 4-1: eckesd(k*360/4); endfor;
  542.  
  543. for k=0 upto 4-1: eckese(k*360/4); endfor;
  544.  
  545. for k=0 upto 4-1: eckesf(k*360/4); endfor;
  546.  
  547. for k=0 upto 4-1: eckesg(k*360/4); endfor;
  548.  
  549. for k=0 upto 4-1: eckesh(k*360/4); endfor;
  550.  
  551. for k=0 upto 4-1: eckesi(k*360/4); endfor;
  552.  
  553. for k=0 upto 4-1: eckesj(k*360/4); endfor;
  554.  
  555. for k=0 upto 4-1: eckesk(k*360/4); endfor;
  556.  
  557. for k=0 upto 4-1: eckesl(k*360/4); endfor;
  558.  
  559. for k=0 upto 4-1: eckesm(k*360/4); endfor;
  560.  
  561. for k=0 upto 4-1: eckesn(k*360/4); endfor;
  562.  
  563. for k=0 upto 4-1: eckeso(k*360/4); endfor;
  564.  
  565. for k=0 upto 4-1: randfour(k*360/4); endfor;
  566.  
  567. for k=0 upto 4-1: eckefa(k*360/4); endfor;
  568.  
  569. for k=0 upto 4-1: eckefb(k*360/4); endfor;
  570.  
  571. for k=0 upto 4-1: eckefc(k*360/4); endfor;
  572.  
  573. for k=0 upto 4-1: eckefd(k*360/4); endfor;
  574.  
  575. for k=0 upto 4-1: eckefe(k*360/4); endfor;
  576.  
  577. for k=0 upto 4-1: eckeff(k*360/4); endfor;
  578.  
  579. for k=0 upto 4-1: eckefg(k*360/4); endfor;
  580.  
  581. for k=0 upto 4-1: eckefh(k*360/4); endfor;
  582.  
  583. for k=0 upto 4-1: eckefi(k*360/4); endfor;
  584.  
  585. for k=0 upto 4-1: randfivea(k*360/4); endfor;
  586.  
  587. for k=0 upto 4-1: randfiveb(k*360/4); endfor;
  588.  
  589. for k=0 upto 4-1: eckexa(k*360/4); endfor;
  590.  
  591. for k=0 upto 4-1: eckexb(k*360/4); endfor;
  592.  
  593. for k=0 upto 4-1: eckexc(k*360/4); endfor;
  594.  
  595. end;
  596.  
  597.